const api = require("../../../config/api");

// pages/MyList/Result/Result.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 录音播放状态
        isPlaying: false,
        // 工单编号
        workOrderCode: '',
        // 检测编号
        testingCode: '',
        // 附件总费用
        testingTotal:'',
        // 检测内容
        testingContent: '',
        // 购买附件的对象数组
        tarList: [],
        // 同意检测附件费用签字
        testingAgreeImg: '',
        // 检测图片路径
        testingImgFile: [],
        // 检测视频路径
        testingVideoFile: '',
        // 将以字符串形式返回的urls存放在testingImg里面
        testingImg: '',
        //  检测语音路径
        testingVoiceFile: '',
        // 是否同意检测附件费用(数字)
        testingAgree: '',
    },

    toggleAudio: function () {
        const audio = wx.createAudioContext('audio'); // 获取音频上下文
        if (this.data.isPlaying) {
          audio.pause(); // 暂停音频
        } else {
          audio.play(); // 播放音频
        }
    
        // 更新播放状态
        this.setData({
          isPlaying: !this.data.isPlaying
        });
      }, 

      // 音频播放结束事件，切换按钮状态
    onAudioEnded: function () {
        console.log('音频播放完毕');
        // 音频播放完毕后，将按钮文本更新为 "录音播放"
        this.setData({
        isPlaying: false // 更新播放状态为未播放
        });
    },
    
    previewImage(e){
        const index = e.currentTarget.dataset.index; // 获取点击的图片索引
        const currentImage = this.data.testingImgFile[index];  // 获取当前点击的图片路径
        console.log('点击图片路径', currentImage)

        wx.previewImage({
          current: currentImage,  // 当前显示的图片地址
          urls: this.data.testingImgFile  // 需要预览的图片列表
        });
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // 获取从工单详情页面传来的工单号
        const workOrderCode = options.workOrderCode;
        this.setData({
            workOrderCode: workOrderCode
        })
        console.log('从工单详情页面获得工单号', this.data.workOrderCode)
        this.fetchAllInfo();
    },

    fetchAllInfo(){
        // 先调用工单详情接口，获取检测编号
        wx.request({
          url: api.getWorkOrderInfo,
          method: 'POST',
          data:{
            workOrderCode: this.data.workOrderCode
          },
          success: (res) => {
            if(res.data.code == 200){
                console.log('获取的工单详情', res.data.data)
                this.setData({
                    testingCode: res.data.data.testingCode
                });
                console.log('获取的检测编号', this.data.testingCode)
            
                // 请求获取检测结果接口
                wx.request({
                  url: api.getTestingInfo,
                  method: 'POST',
                  data: {
                    testingCode: this.data.testingCode
                  },
                  success: (res) => {
                    if(res.data.code == 200){
                        const RES = res.data.data
                        this.setData({
                            tarList: RES.tarList,
                            testingTotal: RES.testingTotal,
                            testingContent: RES.testingContent,
                            // 此处的RES.testingImgFile是所有url拼接在一起的字符串
                            testingImg: RES.testingImgFile,
                            testingAgree: RES.testingAgree,
                            testingVoiceFile: RES.testingVoiceFile,
                            testingVideoFile: RES.testingVideoFile,
                        })
                        console.log('获取检测结果', RES)
                        // 接收的testingImgFile是字符串形式，先判断有没有','，如果有则需要把他进行切割， 否则就直接把图片显示出来
                        console.log('检测图片的字符串形式', this.data.testingImg)
                        const urls = this.data.testingImg;
                        // 如果是多张图片(包含',')，则需要切割字符串，将每一张图片的地址，放进testingImgFile这个数组中，
                        this.splitImageUrls(urls);
                    }else{
                        wx.showToast({
                          title: res.data.mesage,
                          icon: 'none'
                        })
                    }
                  },
                  fail(){
                      wx.showToast({
                        title: '网络请求失败',
                        icon: 'none'
                      })
                  },
                })
            }else{
                wx.showToast({
                  title: res.data.mesage,
                  icon: 'none'
                })
            }
          },
          fail(){
              wx.showToast({
                title: '网络问题',
                icon: 'none'
              })
          },
        })
    },

    // 将接收的字符串进行切割
    splitImageUrls(urls){
        var pic = [];
        if (urls.includes('&&')) {
            // 使用逗号切割字符串
            pic = urls.split('&&');
          } else {
            // 如果没有逗号，则直接将 urls 放入 pic 数组中
            pic = [urls];
          }
          console.log('切割之后的数组',pic);
          this.setData({
            // 把数组内容直接赋值给testingImgFile
            testingImgFile: pic
          });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },

    /**
     * 返回上一页
     */
    toBack: function(){
      wx.navigateBack();
    },
})